﻿// =================================================================== 
// 数据实体层(GDIT.Model)实体映射
//====================================================================
// 文件：Mtb_Roles.cs
// 项目名称：学院网站
// 创建时间：2012-08-08
// 负责人：ChenZhiGang
// 引用DevExpress.Xpo程序集
// 程序集介绍：角色分类实体类（网站管理员，党委宣传部（审核），各个部门（发布））
// ===================================================================
using DevExpress.Xpo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GDIT.Model
{
    public class Mtb_Roles : PersistentClass
    {
        public Mtb_Roles()
        : base()
    {
        this.Modified = false;
    }

        public Mtb_Roles(Session theSession)
        : base(theSession)
    {
        this.Modified = false;
    }

    private string _roleName = string.Empty;
    /// <summary>
    /// 角色名称
    /// </summary>
    [DbType("varchar(50)")]
    public string RoleName
    {
        get { return _roleName; }
        set
        {
            if (_roleName != value)
            {
                _roleName = value;
                if (!IsLoading) { this.Modified = true; }
            }
        }
    }

    /// <summary>
    /// 该角色下拥有的用户
    /// </summary>
    [Association("RolesUsers", typeof(Mtb_Users))]
    public XPCollection Users 
    {
        get
        {
            return GetCollection("Users"); 
        }
    }


    /// <summary>
    /// 防止编辑后马上保存
    /// </summary>
    protected override void EndEdit()
    {
        return;
    }

    /// <summary>
    /// 检验数据
    /// </summary>
    /// <returns></returns>
    public override string GetDataError()
    {
        if (this._roleName.Trim().Length == 0) { return string.Format("角色名称不能为空"); }
        return "";
    }
    }
}
